﻿<?xml version="1.0" encoding="utf-8"?>

<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:doc="http://ddue.schemas.microsoft.com/authoring/internal" xmlns:maml="http://ddue.schemas.microsoft.com/authoring/2003/5" targetNamespace="http://ddue.schemas.microsoft.com/authoring/2003/5" elementFormDefault="qualified" attributeFormDefault="unqualified">
        
  <!-- Schema documentation -->
  <annotation>
    <documentation>
      This schema definition defines the inline UI elements for the CS Schema.
      This schema is part of the base layer.
    </documentation>
  </annotation>

  <!-- include and import declarations -->
  <include schemaLocation="base.xsd" />

  <!-- element declarations -->
  <element name="button">
    <annotation>
      <documentation>
        The button element describes various types of buttons.
      </documentation>
      <appinfo>
        <doc:localizable>true</doc:localizable>
        <doc:type>character</doc:type>
      </appinfo>
    </annotation>
    <complexType>
      <simpleContent>
        <extension base="token">
          <attribute name="type" use="required">
            <simpleType>
              <restriction base="token">
                <enumeration value="leftMouseButton" />
                <enumeration value="middleMouseButton" />
                <enumeration value="rightMouseButton" />
                <enumeration value="macMouseButton" />
                <enumeration value="toolbarButton" />
                <enumeration value="dialogButton" />
                <enumeration value="genericButton" />
              </restriction>
            </simpleType>
          </attribute>
        </extension>
      </simpleContent>
    </complexType>
  </element>

  <element name="label" type="token">
    <annotation>
      <documentation>
        The label element describes the text of a label on a UI control.
      </documentation>
      <appinfo>
        <doc:localizable>true</doc:localizable>
        <doc:type>character</doc:type>
      </appinfo>
    </annotation>
  </element>

  <element name="userInput" type="token">
    <annotation>
      <documentation>
        The userInput element describes data that is entered by the user.
      </documentation>
      <appinfo>
        <doc:localizable>false</doc:localizable>
        <doc:type>character</doc:type>
      </appinfo>
    </annotation>
  </element>

  <element name="userInputLocalizable" type="token">
    <annotation>
      <documentation>
        The ui element describes any localizable user input.
      </documentation>
      <appinfo>
        <doc:localizable>true</doc:localizable>
        <doc:type>character</doc:type>
      </appinfo>
    </annotation>
  </element>
	
  <!-- attribute declarations -->
  <attributeGroup name="userInstructionGroup">
    <annotation>
      <documentation>
        This type is intended for use for describing user actions
      </documentation>
    </annotation>
    <attribute name="instruction">
      <annotation>
        <documentation>
          The action attribute describes a user action, via either 
          key combination or mouse.
        </documentation>
      </annotation>
      <simpleType>
        <restriction base="token">
          <enumeration value="click" />
          <enumeration value="double-click" />
          <enumeration value="other" />
          <enumeration value="press" />
          <enumeration value="inSequence" />
          <enumeration value="simultaneously" />
        </restriction>
      </simpleType>
    </attribute>
  </attributeGroup>
	
  <!-- group declarations -->
  <group name="inlineUiGroup">
    <annotation>
      <documentation>
        This group is intended to be be used for referencing all base UI 
        elements.
      </documentation>
    </annotation>
    <choice>
      <element ref="maml:userInput" />
      <element ref="maml:userInputLocalizable" />
    </choice>
  </group>

  <group name="userActionsGroup">
    <choice>
      <element ref="maml:button" />
    </choice>
  </group>

</schema>